AWS WAF で「特定HTTPヘッダーの有無」を判定する方法を教えてください
AWS WAF で「特定HTTPヘッダーの有無」を条件にするルールの設定方法をご紹介します。
2024.04.18
困っていたこと
AWS WAF のルール設定で、リクエストの特定HTTPヘッダーの値をもとにアクセス制御ができることは認識しています。
しかしながら「その特定HTTPヘッダー自体が存在するか否か」を条件に設定する方法はありますか?
どう対応すればいいの?
リクエストにおける特定HTTPヘッダーの有無については、AWS WAF のサイズ制約ルールステートメントを用いることで実現できます。
具体的には「該当するHTTPヘッダーのサイズが1バイト以上であれば、そのHTTPヘッダーが存在する」というルールで判定します。
例えば「X-Forwarded-For ヘッダーが付与されているリクエストにのみアクセスを許可したい」という場合、以下のようなルール設定で実現できます。
If a request matches the statement Statement Inspect: Single header Header field name: X-Forwarded-For Match type: Size greater than or equal to Size in bytes: 1 Text transformation: None Then Action: Allow